namespace Crux.Core.Jwt;
/// <summary>
/// 
/// </summary>
public abstract class JwtOption
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="key"></param>
    /// <param name="issuer"></param>
    /// <param name="audience"></param>
    /// <param name="expires"></param>
    protected JwtOption(
        string key,
        string issuer,
        string audience,
        TimeSpan expires)
    {
        Key = key;
        Issuer = issuer;
        Audience = audience;
        Expires = expires;
    }
    /// <summary>
    /// IssuerSigningKey
    /// </summary>
    public string Key { get; init; }
    /// <summary>
    /// ValidIssuer
    /// </summary>
    public string Issuer { get; init; }
    /// <summary>
    /// ValidAudience
    /// </summary>
    public string Audience { get; init; }
    /// <summary>
    ///
    /// </summary>
    public TimeSpan Expires { get; init; }
}
